package com.plian.system.service.pm.investmentuprecord;

import com.plian.Tools.pagedata.PageData;
import com.plian.system.entity.pm.investmentuprecord.InvestmentupRecord;
import com.plian.system.model.ListResult;
import com.plian.system.model.ObjResult;
import com.plian.system.model.R;
import com.plian.system.mybatis.base.BaseService;
import com.plian.system.vo.pm.investmentuprecord.InvestmentupRecordVO;

import javax.servlet.http.HttpServletResponse;
import java.io.File;

/**
 * 增资扩股交易备案主表 服务类
 */
public interface IInvestmentupRecordService extends BaseService<InvestmentupRecord> {

    /**
     * 详情页
     *
     * @param investmentupRecordVO
     * @return
     */
    R<InvestmentupRecordVO> getDetailObj(InvestmentupRecordVO investmentupRecordVO);

    /**
     * 保存子表
     *
     * @param investmentupRecordVO
     * @return
     */
    Boolean saveChild(InvestmentupRecordVO investmentupRecordVO);


    /**
     * @param investmentupRecordVO
     * @return
     */
    InvestmentupRecordVO setChild(InvestmentupRecordVO investmentupRecordVO);

    /**
     * @param id
     * @param code
     * @return
     */
    String checkIsSame(String id, String code);

    /**
     * @param investmentupRecord
     * @return
     */
    ObjResult checkSubmit(InvestmentupRecord investmentupRecord);

    /**
     * @param id
     * @param code
     * @return
     */
    Boolean checkIsExisted(Long id, String code);


    ListResult<PageData> reportList(PageData pd);
    File createReceptFile(Long id) throws Exception;

    /**
     * 下载doc
     *
     * @param id
     * @return
     */
    File buildword(String id, HttpServletResponse response);
}
